<html>
	<head>
		<link rel="stylesheet" type="text/css" href="css/parser.css" />
		<!-- Utility script file -->
		<script type="text/javascript" src="scripts/utils.js"></script>
		<!-- Globals file -->
		<script type="text/javascript" src="scripts/globals.js"></script>
		<!-- I/O file -->
		<script type="text/javascript" src="scripts/io.js"></script>
		<!-- Main program script files -->
		<script type="text/javascript" src="scripts/main.js"></script>
		<script type="text/javascript" src="scripts/lexer.js"></script>
		<script type="text/javascript" src="scripts/token.js"></script>
		<script type="text/javascript" src="scripts/parser.js"></script>
		<!-- Tree script files -->
		<script type="text/javascript" src="scripts/parse_tree.js"></script>
		<script type="text/javascript" src="scripts/tree.js"></script>
		<!-- Messager script files -->
		<script type="text/javascript" src="scripts/bones.js"></script>
		<script type="text/javascript" src="scripts/brief.js"></script>
		<script type="text/javascript" src="scripts/cookie.js"></script>
		<script type="text/javascript" src="scripts/pirate.js"></script>
		<script type="text/javascript" src="scripts/regular.js"></script>
		<script type="text/javascript" src="scripts/yoda.js"></script>
		<title>
			Compiler Design Project 2 by Neal Tanner
		</title>
	</head>
	<body background="images/img22.jpg">
		<!--
			I'll never tell you where the body is... Oh, wait.  Crap.
		-->
		<table>
			<tr>
				<td>
					<span class="compiler_compiler_header_section_section">
						Grammar
					</span>
					<div id="grammar_list">
						Program ::== Statement $
						<br />
						Statement ::== while ( BoolExpr ) { StatementList }
						<br />
						Statement ::== if ( BoolExpr ) { StatementList }
						<br />
						Statement ::== print ( Expr )
						<br />
						Statement ::== Id = Expr
						<br />
						Statement ::== VarDecl
						<br />
						Statement ::== { StatementList }
						<br />
						StatementList ::== Statement StatementList
						<br />
						StatementList ::== &#949;
						<br />
						Expr ::== IntExpr
						<br />
						Expr ::== StringExpr
						<br />
						Expr ::== Id
						<br />
						Expr ::== Logical
						<br />
						BoolExpr ::== BoolArg BoolOp BoolArg
						<br />
						IntExpr ::== Digit Op Expr
						<br />
						IntExpr::== Digit
						<br />
						StringExpr ::== " CharList "
						<br />
						CharList ::== Char CharList
						<br />
						CharList ::== Space CharList
						<br />
						CharList ::== &#949;
						<br />
						VarDecl ::== Type Id
						<br />
						BoolArg ::== Id | Digit
						<br />
						Type ::== int | char | bool
						<br />
						Id ::== Char
						<br />
						Char ::== a | b | c ... | z
						<br />
						Space ::== the <em>space</em> character
						<br />
						Digit ::== 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
						<br />
						BoolOp ::== == | !=
						<br />
						Op ::== * | / | + | -
						<br />
						Logical ::== false | true
						<br />
						Comment ::== /* ... */
					</div>
				</td>
				<td>
					<span class="compiler_header_section">
						Expression to evaluate
					</span>
					<br />
					<textarea id="compilerInput" cols="35" rows="5"></textarea>
					<br />
					<br />
					<span class="compiler_header_section">
						Please select a parse message style
					</span>
					<br />
					<select id="message_style">
						<option value="bones">
							Bones
						</option>
						<option selected="selected" value="brief">
							Brief
						</option>
						<option value="cookie">
							Cookie Monster
						</option>
						<option value="pirate">
							Pirate
						</option>
						<option value="regular">
							Regular
						</option>
						<option value="yoda">
							Yoda
						</option>
					</select>
					<br />
					<br />
					<input type="button" id="symbol_button" onClick="displaySymbol();"
						value="Generate Symbol Table" />
					<input type="button" id="parse_button" onClick="startParse();"
						value="Parse" />
					<br />
					<br />
					<span class="compiler_header_section">
						Output
					</span>
					<div id="compilerOutputDiv">

					</div>
				</td>
				<td>
					<span class="compiler_header_section">
						Verbose Output
					</span>
					<div id="compilerVerboseOutputDiv">
					</div>
					<br />
					<span class="compiler_header_section">
						Machine Code
					</span>
					<div id="compilerCodeOutputDiv">
					</div>
				</td>
			</tr>
		</table>
	</body>
</html>